/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package continuity.View;

import java.awt.Graphics;
import java.awt.Image;

/**
 *
 * @author FornetTeam
 */
class CharacterView {
    private int positionX = 0;
    private int positionY = 0;
    private int moving = 0;
    private final Image characterImage;
    
    public CharacterView(Image characterImage){
        this.characterImage = characterImage;
    }
    
    /**
     * A karakter mozgatása dx-szel jobbra és dy-nal lefele.
     * @param dx 
     * @param dy 
     */
    public synchronized void move(int dx, int dy) {
        positionX += dx;
        positionY += dy;
    }
    
    /**
     * Beállítja, hogy mozog-e a karakter.
     * @param b Mozog-e a karakter.
     */
    public synchronized void setMoving(boolean b) {
       if (b){
           moving++;
       } else {
           moving--;
       }
    }

    /**
     * Lekérdezi, hogy mozog-e a karakter.
     * @return 
     */
    public synchronized boolean getMoving() {
        return (moving > 0);
    }

    /**
     * Beállítja a karakter pozícióját.
     * @param positionX Az X pozíció.
     * @param positionY Az Y pozíció.
     */
    public synchronized void setPosition(int positionX, int positionY) {
        this.positionX = positionX;
        this.positionY = positionY;
    }

    /**
     * Visszaadja a karakter pozícióját.
     * @return A karakter pozíciója.
     */
    public synchronized int[] getPosition() {
        return new int[]{positionX, positionY};
    }
    
    public synchronized void paintView(Graphics g){
        g.drawImage(characterImage, positionX, positionY, null);
    }
}
